#!/usr/bin/env python
# -*- coding: UTF8 	-*-

from GladeConnect import GladeConnect
import gtk
import sys
import time
import datetime
import dialogos
import debugwindow
import SimpleTree
import ifd
from strSQL.recepcion_uva import strSelectCosechado
from psycopg2 import connect
import completion
import comunes
import treetohtml

(DESCRIPCION_CUARTEL,
 DESCRIPCION_VARIEDAD,
 TOTAL) = range(3)

class wnCosechado(GladeConnect):
    def __init__(self, conexion=None, padre=None, root="wnCosechado"):
        GladeConnect.__init__(self, "glade/wnCosechado.glade", root)
        self.cnx = conexion
        self.cursor = self.cnx.cursor()
        self.padre = padre
        if padre is None :
            self.wnCosechado.maximize()
            self.frm_padre = self.wnCosechado
            self.padre 
        else:
            self.frm_padre = padre.frm_padre
            
        self.crea_columnas()
        self.carga_datos()

    def crea_columnas(self):
        columnas = []
        #columnas.append ([CODIGO_CUARTEL, "Código Cuartel", "str"])
        columnas.append ([DESCRIPCION_CUARTEL, "Descripción Cuartel", "str"])
        columnas.append ([DESCRIPCION_VARIEDAD, "Variedad Cosechada", "str"])
        columnas.append ([TOTAL, "Total Cosechado", "str"])
       
        self.carga_datos()
        SimpleTree.GenColsByModel(self.modelo, columnas, self.treeCosechado)
        self.col_data = [x[0] for x in columnas]
        
    def on_btnImprimir_clicked(self, btn=None):
        t = treetohtml.TreeToHTML(self.treeCosechado,"Cosecha por Cuartel", self.col_data)
        t.show()
        
    def carga_datos(self):
        self.modelo = ifd.ListStoreFromSQL(self.cnx, strSelectCosechado)
        self.treeCosechado.set_model(self.modelo)
        
    def on_btnRefrescar_clicked(self, btn=None):
        if self.modelo is None:
            return
        self.modelo.clear()
        self.carga_datos()
        
    def on_btnCerrar_clicked(self, btn=None):
        if self.padre is None:
            self.on_exit()
        else:
            self.padre.remove_tab("Cosechado por Cuartel")
            
if __name__ == '__main__':
    cnx = connect("dbname = traza")
    #cnx.autocommit()
    sys.excepthook = debugwindow.show
    d = wnCosechado(cnx)
    
    gtk.main()
